
const vs = /* wgsl */`

@group(0) @binding(0) var<uniform> pvM4: mat4x4<f32>;

struct a2v{
    @location(0) position: vec3<f32>,
}

struct v2f{
    @builtin(position) position: vec4<f32>,
}

@vertex
fn main(v: a2v) -> v2f{
    var posi = vec4<f32>(v.position, 1.0);

    var o: v2f;
    o.position = pvM4 * posi;

    return o;
}
`;


const fs = /* wgsl */`

@group(1) @binding(0) var<uniform> color: vec4<f32>;

struct v2f{
    @builtin(position) position: vec4<f32>,
}

@fragment
fn main(f: v2f) -> @location(0) vec4<f32>{

    return vec4<f32>(color);
}
`;


export { vs, fs }